package com.titanrise.crm.domain.model;

import com.titanrise.crm.domain.model.enums.LoginStatus;
import com.titanrise.crm.environment.annotation.TableColumn;
import com.titanrise.crm.environment.annotation.TableID;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * @Description:
 * @Author: pront
 * @Time:2024-11-20 22:01
 */
@Data
@Builder
@AllArgsConstructor
public class SysLoginLog {

    /**
     * 日志ID
     */
    @TableID("log_id")
    private String logId;

    /**
     * 用户id
     */
    @TableColumn("user_id")
    private String userId;

    /**
     * 登录成功后显示的用户姓名
     */
    @TableColumn("name")
    private String name;

    /**
     * 登录时间
     */
    @TableColumn("login_time")
    private LocalDateTime loginTime;

    /**
     * 登出时间
     */
    @TableColumn("logout_time")
    private LocalDateTime logoutTime;

    /**
     * 登录状态
     */
    @TableColumn("login_status")
    private LoginStatus loginStatus;

    /**
     * 登录ip
     */
    @TableColumn("ip_address")
    private String ipAddress;

    /**
     * 登录设备信息
     */
    @TableColumn("device_info")
    private String deviceInfo;

    /**
     * 登录失败原因
     */
    @TableColumn("failure_reason")
    private String failureReason;
}
